package szxy.base.day05;
/*
    方法的重载： 指的是同一个类中方法名相同，参数列表不同的现象叫做方法的重载，与返回值无关。

    1、数量不同
    2、类型不同
    3、顺序不同


    注意：
        1、在同一个类中，定义了多个同名的方法，这些同名的方法具有相同的功能（在同一个类中，方法名相同，参数列表不同）
        2、JVM判断一个类中方法是否发生重复，仅根据方法名和方法的参数列表来判断
        3、JVM调用方法的时候，也是根据方法名和参数列表来调用


 */
public class demo3Function {
    public static void main(String[] args) {
        //定义一个方法，求两个int类型数据之和

        int a1=3;
        int b1=4;
        int c1=5;
        //调用方法sum1
        int res=sum(a1,b1);
        System.out.println(res);

        int res2=sum(a1,b1,c1);
        System.out.println(res2);

        double d1=1.2;
        double res3=sum(a1,b1,d1);
        System.out.println(res3);

        double d2=2.3;
        double res4=sum(a1,d2,b1);
        System.out.println(res4);
    }

     /*
       定义一个方法：求两个int类型数据之和
             1、我要干嘛？  求两个int类型数据之和
             2、我干这件事，需要什么才能完成？    需要两个int类型的数
             3、方法的调用处，是否需要继续使用方法的结果？   需要

     */
     public static double sum(int a,double d,int b){
         return a+b+d;
     }

     public static double sum(int a,int b,double d){
         return a+b+d;
     }

    public static int sum(int a,int b,int c){
        return a+b+c;
    }

    public static int sum(int a,int b){
        return a+b;
    }
}
